home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / game / pyon_k / pk_main.bas < prev    next >
BASIC Source File  |  1993-11-30  |  16KB  |  316 lines

  1. 1000 '         PYONPYON KANGAROO  Ver 1.0 MAINPROGRAM    21 Nov 1992
  2. 1010 '                         
  3. 1020 '                              PROGRAMED  BY  Katsuhiro Sato    
  4. 1030 '
  5. 1040 '
  6. 1050 '
  7. 1060 '
  8. 1070 '
  9. 1080  *SETTEI
  10. 1090 SCREEN@ 0:BEEP:CLS:COLOR ,,,4:DIM HPM_B(15),T1%(17000),T2%(17000)
  11. 1100 ON ERROR GOTO *ERR
  12. 1110 PLAY "T120O5",,,,,,"t120o4l64@1","t120o4l64@1"
  13. 1120  *CD_CHECK
  14. 1130 IF PTRIG(1)=2 THEN CD_T=0:CD_F=0:GOTO *W_SET
  15. 1140 OPEN "I",#1,"CDDAT.DAT":INPUT#1,CD_T,CD_F:CLOSE#1 
  16. 1150  *W_SET
  17. 1160 W=4
  18. 1170 W=W*50
  19. 1180  *TITLE
  20. 1190 C21=175:C26=215:C31=255
  21. 1200 SCREEN@ 1:CLS
  22. 1210 LOAD@ "PK_MARK.TIF",(142,70)
  23. 1220 FOR I=0 TO 31:G=I*8*.8!:R=I*8*.7!:B=I*8*1
  24. 1230 SYMBOL (70,116)," Presents by Sacchan ",1,.5!,[G,R,B],,,1,1
  25. 1240 NEXT:PLAY "@1C1"
  26. 1250 FOR I=0 TO 31:G=I*8*.8!:R=I*8*.7!:B=I*8*1
  27. 1260 SYMBOL (70,116)," Presents by Sacchan ",1,.5!,[C26-G,C21-R,C31-B],,,1,1
  28. 1270 NEXT:CLS
  29. 1280  *TITLE2CD
  30. 1290 IF CD_T > 0 THEN CDINF CDI%:IF CD_T < CDI%(5) THEN CD PLAY CD_T
  31. 1300  *TITLE2
  32. 1310 CLS:I=0
  33. 1320 LOAD@ "PK_TITLE.TIF"
  34. 1330 GOSUB *OPEN_P2
  35. 1340 SYMBOL (30,170),"PYONPYON KANGAROO 2",1,1,[C21,C31,C26],,,1,1
  36. 1350 SYMBOL (80,210),"  (C)Sacchan 1992 ",1,.5!,[C26,C21,C31],,,1,1
  37. 1360  *PIKAPIKA:I=I+1
  38. 1370 IF I=1 THEN SYMBOL (110,190),"PUSH A BUTTON",1,.5!,[C26,C21,C31],,,1,1
  39. 1380 IF I=2 THEN SYMBOL (110,190),"PUSH A BUTTON",1,.5!,[C31,C21,C26],,,1,1
  40. 1390 IF I=3 THEN SYMBOL (110,190),"PUSH A BUTTON",1,.5!,[C21,C31,C26],,,1,1
  41. 1400 IF I=4 THEN SYMBOL (110,190),"PUSH A BUTTON",1,.5!,[C26,C31,C21],,,1,1:I=0
  42. 1410 IF PTRIG(1)=1 OR PTRIG(2)=1 THEN *LOAD_TIFF
  43. 1420 IF PTRIG(1)=2 OR PTRIG(2)=2 THEN GOSUB *WAIT_CHANGE
  44. 1430 IF PTRIG(1)=4 OR PTRIG(2)=4 THEN *CD_CHANGE
  45. 1440 IF PTRIG(1)=8 OR PTRIG(2)=8 THEN *STAFF
  46. 1450 GOTO *PIKAPIKA
  47. 1460 '
  48. 1470  *LOAD_TIFF
  49. 1480 CLS
  50. 1490 SPRITE ON:SPRITE SCREEN 1
  51. 1500 LOAD@ "PK_RING.TIF"
  52. 1510  *START
  53. 1520 IF CD_F > 0 THEN CDINF CDI%:IF CD_F < CDI%(5) THEN CD PLAY CD_F
  54. 1530 '
  55. 1540 YARA1=0:YARA2=0:P_ANIME1=0:P_ANIME2=0:MOVA1=0:MOVA2=0:EX1=0:EX2=0:FX1=0:FX2=0:DDT1=0:DDT2=0:DDT1FLG=0:DDT2FLG=0
  56. 1550 '
  57. 1560 HP1=30:HP2=30:HPH1=94:HPH2=224:'体力 & 体力メーター座標
  58. 1570 ST1=0:JP1=9:PN1=18:PA1=27:BL1=36:YA1=45:'------PLAYER 1
  59. 1580 ST2=54:JP2=63:PN2=72:PA2=81:BL2=90:YA2=99:'----PLAYER 2
  60. 1590 GL1=108:GL2=109
  61. 1600 HX=104:HY=155:'初期スプライト座標
  62. 1610 DEF SPRITE 1,GL1,(HX+48,HY+16),432,1,1:DEF SPRITE 1,GL2,(HX-16,HY+16),436,1,1
  63. 1620 FOR I=0 TO 11:DEF SPRITE 1,I*9,(HX,HY),I*36,3,3:NEXT
  64. 1630 '
  65. 1640 SPRITE 0,ST1,1:SPRITE 0,ST2,1
  66. 1650 GOSUB *READY:SS=0
  67. 1660 '
  68. 1670 '************************MAINPROGRAM**********************
  69. 1680 '
  70. 1690 *P1:FOR LWAIT=0 TO W:NEXT:'*****************************************
  71. 1700 IF SS=0 AND ((SPRITE (ST2,6))-(SPRITE(ST1,6))) < 32 THEN SS=1
  72. 1710 IF SS>0 THEN X1=-6:SS=SS+1:IF SS >10 THEN SS=0
  73. 1720  'YARARE ANIME CHECK
  74. 1730 IF YARA1>0 THEN *YARARE1_A
  75. 1740  'YOIN CHECK
  76. 1750 IF DDT1>0 THEN DDT1=DDT1+1:IF DDT1=35 OR DDT1FLG=1 THEN DDT1=0:DDT1FLG=0 
  77. 1760  'BLOCK ANIME CHECK
  78. 1770 IF B_AN1>0 THEN *BLOCK1
  79. 1780  'YARARE CHECK
  80. 1790 SP_DIS1=(SPRITE (GL2,6)) - (SPRITE (ST1,6))
  81. 1800 IF SP_DIS1>24 AND SP_DIS1<38 AND SPRITE (GL2,0)=1 THEN GOTO *YARARE1
  82. 1810  'PANCH ANIME CHECK
  83. 1820 IF P_ANIME1 > 0 THEN *PANCH_1_A
  84. 1830  '
  85. 1840  'BUTTON A CHECK
  86. 1850 IF P_FLG1=1 AND PTRIG(1)=0 THEN P_FLG1=0
  87. 1860 IF P_FLG1=1 THEN *BUTTON_B_CHECK1
  88. 1870  'PANCH CHECK 
  89. 1880 IF DDT1=0 AND PTRIG(1)=1 THEN GOTO *PANCH_1
  90. 1890  *BUTTON_B_CHECK1
  91. 1900 IF B_FLG1=1 AND PTRIG(1)=0 THEN B_FLG1=0
  92. 1910 IF B_FLG1=1 THEN *PAD_CHECK1
  93. 1920  'BLOCK CHECK
  94. 1930 IF DDT1=0 AND PTRIG(1)=2 THEN *BLOCK1
  95. 1940  *PAD_CHECK1
  96. 1950 P1=PAD(1):IF SS=0 THEN X1=(((P1>5)AND(P1<9))-((P1>1)AND(P1<5)))*3
  97. 1960  'HAMIDASHI CHECK
  98. 1970 IF SPRITE (ST1,6)<10 THEN X1=1:ELSE IF SPRITE (ST1,6)>190 THEN X1=-1
  99. 1980  'MOVE CHECK1
  100. 1990 IF MOVA1>0 THEN *MOVE1
  101. 2000 IF DDT1=0 AND X1<>0 THEN *MOVE1
  102. 2010 IF DDT1>0 AND SS>0 THEN *MOVE1
  103. 2020 GOTO *P2
  104. 2030 '
  105. 2040  *PANCH_1
  106. 2050 IF PAD(1)=3 THEN EX1=4:DDT1=1:PLAY ,,,,,,"R32D","D":ELSE PLAY ,,,,,,"c"
  107. 2060  *PANCH_1_A:IF ((SPRITE (ST2,6))-(SPRITE(ST1,6)))<32 THEN EX1=-1
  108. 2065 IF (SPRITE (ST1,6)) < 10 THEN EX1=1
  109. 2066 IF (SPRITE (ST1,6)) > 9 AND EX1=1 THEN EX1=0
  110. 2070 P_ANIME1=P_ANIME1+1:SPRITE 6,ST1,EX1:SPRITE 6,JP1,EX1:SPRITE 6,PN1,EX1:SPRITE 6,PA1,EX1:SPRITE 6,BL1,EX1:SPRITE 6,YA1,EX1:SPRITE 6,GL1,EX1
  111. 2080 IF P_ANIME1 = 13 THEN SPRITE 0,PN1,0:SPRITE 0,ST1,1:P_ANIME1=0:P_FLG1=1:EX1=0:GOTO *P2
  112. 2090 IF P_ANIME1 = 10 THEN SPRITE 0,PA1,0:SPRITE 0,GL1,0:SPRITE 0,PN1,1:GOTO *P2
  113. 2100 IF P_ANIME1 = 5 THEN SPRITE 0,PN1,0:SPRITE 0,PA1,1:SPRITE 0,GL1,1:GOTO *P2
  114. 2110 IF P_ANIME1 = 1 THEN SPRITE 0,ST1,0:SPRITE 0,JP1,0:SPRITE 0,PN1,1:GOTO *P2
  115. 2120  GOTO *P2
  116. 2130 ' 
  117. 2140 *YARARE1
  118. 2150 IF DDT2>0 THEN PPOINT1=3:FX1=-4:DDT2FLG=1:ELSE PPOINT1=1
  119. 2160 IF P_ANIME1 > 0 THEN PPOINT1 = PPOINT1 * 2
  120. 2170 IF PPOINT1=6 THEN PLAY ,,,,,,"G" ELSE IF PPOINT1=3 THEN PLAY ,,,,,,"e" ELSE PLAY ,,,,,,"F"
  121. 2180 P_ANIME1=0:EX1=0:SPRITE 0,ST1,0:SPRITE 0,JP1,0:SPRITE 0,PN1,0:SPRITE 0,PA1,0:SPRITE 0,BL1,0:SPRITE 0,GL1,0:SPRITE 0,YA1,1
  122. 2190 HP1=HP1-PPOINT1
  123. 2200 '
  124. 2210 FOR I=0 TO PPOINT1-1:PUT@A (HPH1+(I*2),20)-(HPH1+1+(I*2),27),HPM_B:NEXT
  125. 2220 HPH1=HPH1+(PPOINT1*2):PPOINT1=0
  126. 2230 GOTO *YARARE1_A
  127. 2240  *YARARE1_A
  128. 2250 YARA1=YARA1+1
  129. 2260 IF SPRITE (ST1,6) <10 THEN FX1=0
  130. 2270 SPRITE 6,ST1,FX1:SPRITE 6,JP1,FX1:SPRITE 6,PN1,FX1:SPRITE 6,PA1,FX1:SPRITE 6,BL1,FX1:SPRITE 6,YA1,FX1:SPRITE 6,GL1,FX1
  131. 2280 IF YARA1=10 THEN YARA1=0:P1=0:FX1=0:SPRITE 0,YA1,0:SPRITE 0,ST1,1
  132. 2290 IF HP1<1 THEN *END
  133. 2300 GOTO *P2
  134. 2310 '
  135. 2320  *MOVE1:MOVA1=MOVA1+1:SPRITE TIME
  136. 2330 IF MOVA1=1 OR MOVA1=2 THEN Y1=-4:SPRITE 6,ST1,X1,Y1:SPRITE 6,JP1,X1,Y1:SPRITE 6,PN1,X1,Y1:SPRITE 6,PA1,X1,Y1:SPRITE 6,BL1,X1,Y1:SPRITE 6,YA1,X1,Y1:SPRITE 6,GL1,X1,Y1:SPRITE 0,ST1,0:SPRITE 0,JP1,1
  137. 2340 IF MOVA1=3 OR MOVA1=4 THEN Y1=-2:SPRITE 6,ST1,X1,Y1:SPRITE 6,JP1,X1,Y1:SPRITE 6,PN1,X1,Y1:SPRITE 6,PA1,X1,Y1:SPRITE 6,BL1,X1,Y1:SPRITE 6,YA1,X1,Y1:SPRITE 6,GL1,X1,Y1
  138. 2350 IF MOVA1=5 OR MOVA1=6 THEN Y1=0:SPRITE 6,ST1,X1,Y1:SPRITE 6,JP1,X1,Y1:SPRITE 6,PN1,X1,Y1:SPRITE 6,PA1,X1,Y1:SPRITE 6,BL1,X1,Y1:SPRITE 6,YA1,X1,Y1:SPRITE 6,GL1,X1,Y1
  139. 2360 IF MOVA1=7 OR MOVA1=8 THEN Y1=2:SPRITE 6,ST1,X1,Y1:SPRITE 6,JP1,X1,Y1:SPRITE 6,PN1,X1,Y1:SPRITE 6,PA1,X1,Y1:SPRITE 6,BL1,X1,Y1:SPRITE 6,YA1,X1,Y1:SPRITE 6,GL1,X1,Y1
  140. 2370 IF MOVA1=9 OR MOVA1=10 THEN Y1=4:SPRITE 6,ST1,X1,Y1:SPRITE 6,JP1,X1,Y1:SPRITE 6,PN1,X1,Y1:SPRITE 6,PA1,X1,Y1:SPRITE 6,BL1,X1,Y1:SPRITE 6,YA1,X1,Y1:SPRITE 6,GL1,X1,Y1
  141. 2380 IF MOVA1=10 THEN SPRITE 0,ST1,1:SPRITE 0,JP1,0:MOVA1=0:X1=0:Y1=0
  142. 2390 GOTO *P2
  143. 2400  *BLOCK1
  144. 2410 B_AN1=B_AN1+1
  145. 2420 SPRITE 0,ST1,0:SPRITE 0,JP1,0:SPRITE 0,BL1,1
  146. 2430 IF B_AN1=20 THEN B_AN1=0:SPRITE 0,ST1,1:SPRITE 0,BL1,0:B_FLG1=1
  147. 2440 GOTO *P2
  148. 2450 '
  149. 2460 '
  150. 2470 '
  151. 2480  *P2:FOR LWAIT=0 TO W:NEXT:'*****************************************
  152. 2490 IF SS=0 AND ((SPRITE (ST2,6))-(SPRITE(ST1,6))) < 32 THEN SS=1
  153. 2500 IF SS>0 THEN X2=6:SS=SS+1:IF SS >10 THEN SS=0
  154. 2510 'YARARE A CHECK
  155. 2520 IF YARA2>0 THEN *YARARE2_A
  156. 2530  'YOIN CHECK
  157. 2540 IF DDT2>0 THEN DDT2=DDT2+1:IF DDT2=35 OR DDT2FLG=1 THEN DDT2=0:DDT2FLG=0 
  158. 2550  'BLOCK ANIME CHECK
  159. 2560 IF B_AN2>0 THEN *BLOCK2
  160. 2570  'YARARE CHECK
  161. 2580 SP_DIS2=(SPRITE (ST2,6)) - (SPRITE (GL1,6))
  162. 2590 '
  163. 2600 IF SP_DIS2<6 AND SP_DIS2>-8 AND SPRITE (GL1,0)=1 THEN GOTO *YARARE2
  164. 2610  'PANCH ANIME CHECK
  165. 2620 IF P_ANIME2 > 0 THEN *PANCH_2_A
  166. 2630 '
  167. 2640  'BUTTON A CHECK
  168. 2650 IF P_FLG2=1 AND PTRIG(2)=0 THEN P_FLG2=0
  169. 2660 IF P_FLG2=1 THEN  *BUTTON_B_CHECK2
  170. 2670  'PANCH CHECK
  171. 2680 IF DDT2=0 AND PTRIG(2)=1 THEN GOTO *PANCH_2
  172. 2690   *BUTTON_B_CHECK2
  173. 2700 IF B_FLG2=1 THEN IF PTRIG(2)=0 THEN B_FLG2=0
  174. 2710 IF B_FLG2=1 THEN *PAD_CHECK2
  175. 2720  'BLOCK CHECK
  176. 2730 IF DDT2=0 AND PTRIG(2)=2 THEN *BLOCK2
  177. 2740  *PAD_CHECK2
  178. 2750 P2=PAD(2):IF SS=0 THEN X2=(((P2>5)AND(P2<9))-((P2>1)AND(P2<5)))*3
  179. 2760  'HAMIDASHI CHECK
  180. 2770 IF SPRITE (ST2,6)<20 THEN X2=1:ELSE IF SPRITE (ST2,6)>200 THEN X2=-1
  181. 2780  'MOVE CHECK1
  182. 2790 IF MOVA2<>0 THEN *MOVE2
  183. 2800 IF DDT2=0  THEN IF X2<>0 THEN *MOVE2
  184. 2810 IF DDT2>0 AND SS>0 THEN *MOVE2
  185. 2820 GOTO *P1
  186. 2830 '
  187. 2840  *PANCH_2
  188. 2850 IF PAD(2)=7 THEN EX2=-4:DDT2=1:PLAY ,,,,,,"R32D","D":ELSE PLAY ,,,,,,"c"
  189. 2860  *PANCH_2_A:IF ((SPRITE (ST2,6))-(SPRITE(ST1,6))) < 32 THEN EX2=1
  190. 2865 IF (SPRITE(ST2,6))>200 THEN EX2=-1
  191. 2866 IF (SPRITE (ST2,6)) < 201 AND EX2=-1 THEN EX2=0
  192. 2870 P_ANIME2=P_ANIME2+1:SPRITE 6,ST2,EX2:SPRITE 6,JP2,EX2:SPRITE 6,PN2,EX2:SPRITE 6,PA2,EX2:SPRITE 6,BL2,EX2:SPRITE 6,YA2,EX2:SPRITE 6,GL2,EX2
  193. 2880 IF P_ANIME2 = 13 THEN SPRITE 0,PN2,0:SPRITE 0,ST2,1:P_ANIME2=0:P_FLG2=1:EX2=0:GOTO *P1
  194. 2890 IF P_ANIME2 = 10 THEN SPRITE 0,PA2,0:SPRITE 0,GL2,0:SPRITE 0,PN2,1:GOTO *P1
  195. 2900 IF P_ANIME2 = 5 THEN SPRITE 0,PN2,0:SPRITE 0,PA2,1:SPRITE 0,GL2,1:GOTO *P1
  196. 2910 IF P_ANIME2 = 1 THEN SPRITE 0,ST2,0:SPRITE 0,JP2,0:SPRITE 0,PN2,1:GOTO *P1
  197. 2920  GOTO *P1
  198. 2930  *YARARE2
  199. 2940 IF DDT1>0 THEN PPOINT2=3:FX2=4:DDT1FLG=1:ELSE PPOINT2=1
  200. 2950 IF P_ANIME2 > 0 THEN PPOINT2 = PPOINT2 * 2
  201. 2960 IF PPOINT2=6 THEN PLAY ,,,,,,"G" ELSE IF PPOINT2=3 THEN PLAY ,,,,,,"e" ELSE PLAY ,,,,,,"F"
  202. 2970 P_ANIME2=0:EX2=0:SPRITE 0,ST2,0:SPRITE 0,JP2,0:SPRITE 0,PN2,0:SPRITE 0,PA2,0:SPRITE 0,BL2,0:SPRITE 0,GL2,0:SPRITE 0,YA2,1
  203. 2980 HP2=HP2-PPOINT2
  204. 2990 '
  205. 3000 FOR I=0 TO PPOINT2-1:PUT@A (HPH2-(I*2),20)-(HPH2+1-(I*2),27),HPM_B:NEXT
  206. 3010 HPH2=HPH2-(PPOINT2*2):PPOINT2=0
  207. 3020 GOTO *YARARE2_A
  208. 3030  *YARARE2_A
  209. 3040 YARA2=YARA2+1
  210. 3050 IF SPRITE (ST2,6) >200 THEN FX2=0
  211. 3060 SPRITE 6,ST2,FX2:SPRITE 6,JP2,FX2:SPRITE 6,PN2,FX2:SPRITE 6,PA2,FX2:SPRITE 6,BL2,FX2:SPRITE 6,YA2,FX2:SPRITE 6,GL2,FX2
  212. 3070 IF YARA2=10 THEN YARA2=0:P2=0:FX2=0:SPRITE 0,YA2,0:SPRITE 0,ST2,1
  213. 3080 '
  214. 3090 IF HP2<1 THEN *END
  215. 3100 '
  216. 3110 GOTO *P1
  217. 3120  *MOVE2:MOVA2=MOVA2+1:SPRITE TIME
  218. 3130 IF MOVA2=1 OR MOVA2=2 THEN Y2=-4:SPRITE 6,ST2,X2,Y2:SPRITE 6,JP2,X2,Y2:SPRITE 6,PN2,X2,Y2:SPRITE 6,PA2,X2,Y2:SPRITE 6,BL2,X2,Y2:SPRITE 6,YA2,X2,Y2:SPRITE 6,GL2,X2,Y2:SPRITE 0,ST2,0:SPRITE 0,JP2,1
  219. 3140 IF MOVA2=3 OR MOVA2=4 THEN Y2=-2:SPRITE 6,ST2,X2,Y2:SPRITE 6,JP2,X2,Y2:SPRITE 6,PN2,X2,Y2:SPRITE 6,PA2,X2,Y2:SPRITE 6,BL2,X2,Y2:SPRITE 6,YA2,X2,Y2:SPRITE 6,GL2,X2,Y2
  220. 3150 IF MOVA2=5 OR MOVA2=6 THEN Y2=0:SPRITE 6,ST2,X2,Y2:SPRITE 6,JP2,X2,Y2:SPRITE 6,PN2,X2,Y2:SPRITE 6,PA2,X2,Y2:SPRITE 6,BL2,X2,Y2:SPRITE 6,YA2,X2,Y2:SPRITE 6,GL2,X2,Y2
  221. 3160 IF MOVA2=7 OR MOVA2=8 THEN Y2=2:SPRITE 6,ST2,X2,Y2:SPRITE 6,JP2,X2,Y2:SPRITE 6,PN2,X2,Y2:SPRITE 6,PA2,X2,Y2:SPRITE 6,BL2,X2,Y2:SPRITE 6,YA2,X2,Y2:SPRITE 6,GL2,X2,Y2
  222. 3170 IF MOVA2=9 OR MOVA2=10 THEN Y2=4:SPRITE 6,ST2,X2,Y2:SPRITE 6,JP2,X2,Y2:SPRITE 6,PN2,X2,Y2:SPRITE 6,PA2,X2,Y2:SPRITE 6,BL2,X2,Y2:SPRITE 6,YA2,X2,Y2:SPRITE 6,GL2,X2,Y2:
  223. 3180 IF MOVA2=10 THEN SPRITE 0,ST2,1:SPRITE 0,JP2,0:MOVA2=0:X2=0:Y2=0
  224. 3190 GOTO *P1
  225. 3200  *BLOCK2
  226. 3210 B_AN2=B_AN2+1
  227. 3220 SPRITE 0,ST2,0:SPRITE 0,JP2,0:SPRITE 0,BL2,1
  228. 3230 IF B_AN2=20 THEN B_AN2=0:SPRITE 0,ST2,1:SPRITE 0,BL2,0:B_FLG2=1
  229. 3240 GOTO *P1
  230. 3250 '*************************************************************
  231. 3260  *END
  232. 3270 IF HP1<1 THEN SYMBOL (60,50),"PLAYER 2 WIN",2,1,[21*8,31*8,26*8],,,1:WAIT 150:SYMBOL (60,50),"PLAYER 2 WIN",2,1,0,,,1
  233. 3280 IF HP2<1 THEN SYMBOL (60,50),"PLAYER 1 WIN",2,1,[21*8,31*8,26*8],,,1:WAIT 150:SYMBOL (60,50),"PLAYER 1 WIN",2,1,0,,,1
  234. 3290 SYMBOL (90,50),"REPLAY ?",1,1,[21*8,26*8,31*8],,,1
  235. 3300 SYMBOL (100,70),"YES   A BUTTON",1,1,[21*8,26*8,31*8],,,1
  236. 3310 SYMBOL (100,90),"NO    B BUTTON",1,1,[21*8,26*8,31*8],,,1
  237. 3320 IF PTRIG(1)=1 OR PTRIG(2)=1 THEN GOSUB *CLS:GOTO *START
  238. 3330 IF PTRIG(1)=2 OR PTRIG(2)=2 THEN *EXIT
  239. 3340 GOTO 3320
  240. 3350  *READY
  241. 3360 SYMBOL (140,50),"READY",1,1,[31*8,21*8,26*8],,,1 
  242. 3370 'GET@A (154,20)-(155,27),HPM_B
  243. 3380 FOR I=1 TO HP1:LINE (154-(I*2),20)-(155-(I*2),27),PSET,[15+I*8,255,0],B:LINE (164+(I*2),20)-(165+(I*2),27),PSET,[15+I*8,255,0],B:NEXT
  244. 3390 WAIT 100:SYMBOL (140,50),"READY",1,1,0,,,1:PLAY ,,,,,,"A":SYMBOL (140,50),"FIGHT!!",1,1,[21*8,31*8,26*8],,,1:WAIT 100:SYMBOL (140,50),"FIGHT!!",1,1,0,,,1 
  245. 3400 RETURN
  246. 3410  *STAFF
  247. 3420 CLS:PLAY "@1c1"
  248. 3430 SYMBOL (60,8),"STAFF",1,.5!,[C31,C21,C26],,,1,1 
  249. 3440 SYMBOL (50,20),"PROGRAM           K.SATO",1,.5!,[C26,C21,C31],,,1,1 
  250. 3450 SYMBOL (50,32),"GAME DESIGN       K.SATO",1,.5!,[C26,C21,C31],,,1,1 
  251. 3460 SYMBOL (50,44),"CHARACTER DESIGN  K.SATO",1,.5!,[C26,C21,C31],,,1,1 
  252. 3470 SYMBOL (50,56),"GRAPHICS          K.SATO",1,.5!,[C26,C21,C31],,,1,1 
  253. 3480 SYMBOL (50,68),"     ",1,.5!,[C26,C21,C31],,,1,1 
  254. 3490 SYMBOL (50,84),"SPECIAL THANKS",1,.5!,[C21,C31,C26],,,1,1 
  255. 3500 SYMBOL (50,96),"                  T.NISHIMURA",1,.5!,[C26,C21,C31],,,1,1
  256. 3510 SYMBOL (110,200),"PUSH A BUTTON",1,.5!,[C21,C31,C26],,,1,1
  257. 3520 I=I+1
  258. 3530 IF I=1 THEN SYMBOL (110,200),"PUSH A BUTTON",1,.5!,[C26,C21,C31],,,1,1 
  259. 3540 IF I=2 THEN SYMBOL (110,200),"PUSH A BUTTON",1,.5!,[C31,C21,C26],,,1,1 
  260. 3550 IF I=3 THEN SYMBOL (110,200),"PUSH A BUTTON",1,.5!,[C21,C31,C26],,,1,1
  261. 3560 IF I=4 THEN SYMBOL (110,200),"PUSH A BUTTON",1,.5!,[C26,C31,C21],,,1,1:I=0 
  262. 3570 IF PTRIG(1)=1 OR PTRIG(2)=1 THEN *TITLE2 ELSE 3520
  263. 3580  *EXIT
  264. 3590 CLS:SPRITE OFF:WAIT 50:GOTO *TITLE2CD
  265. 3600 '
  266. 3610  *CLS
  267. 3620 SYMBOL (90,50),"REPLAY ?",1,1,0,,,1:SYMBOL (100,70),"YES   A BUTTON",1,1,0,,,1:SYMBOL (100,90),"NO    B BUTTON",1,1,0,,,1:RETURN 
  268. 3630  *WAIT_CHANGE:W=W/50
  269. 3640 SYMBOL (100,200),"GAME SPEED",1,.5!,[C26,C21,C31],,,1,1
  270. 3650 WAIT 10
  271. 3660 IF PAD(1)=5 THEN SYMBOL (200,200),STR$(W),1,.5!,,,PRESET,1,1:W=W-1:IF W < 0 THEN W=0
  272. 3670 IF PAD(1)=1 THEN SYMBOL (200,200),STR$(W),1,.5!,,,PRESET,1,1:W=W+1:IF W > 10 THEN W=10
  273. 3680 SYMBOL (200,200),STR$(W),1,.5!,[C26,C21,C31],,,1,1
  274. 3690 IF PTRIG(1)<>1 THEN 3650 ELSE SYMBOL (100,200),"GAME SPEED",1,.5!,,,PRESET,1,1:SYMBOL (200,200),STR$(W),1,.5!,,,PRESET,1,1:W=W*50:CLS 4:WAIT 10:RETURN
  275. 3700 '
  276. 3710  *CD_CHANGE
  277. 3720 LOCATE 5,23:PRINT "音楽を変更します データトラックを指定しないでください エラーになります"
  278. 3730 IF PTRIG(1)<>1 THEN 3730
  279. 3740 CLS 4:WAIT 50
  280. 3750 LOCATE 10,23:PRINT "タイトル  0 = 音楽無し"
  281. 3760 WAIT 10:IF PAD(1)=1 THEN CD_T=CD_T+1:IF CD_T>50 THEN CD_T=50
  282. 3770 IF PAD(1)=5 THEN CD_T=CD_T-1:IF CD_T<0 THEN CD_T=0
  283. 3780 LOCATE 40,23:PRINT USING "##番目";CD_T;
  284. 3790 IF PTRIG(1)<>1 THEN 3760 ELSE CLS 4:WAIT 50
  285. 3800 LOCATE 10,23:PRINT "ファイティング  0 = 音楽無し"
  286. 3810 WAIT 10:IF PAD(1)=1 THEN CD_F=CD_F+1:IF CD_F>50 THEN CD_F=50
  287. 3820 IF PAD(1)=5 THEN CD_F=CD_F-1:IF CD_F<0 THEN CD_F=0
  288. 3830 LOCATE 40,23:PRINT USING "##番目";CD_F;
  289. 3840 IF PTRIG(1)<>1 THEN 3810 ELSE CLS 4:WAIT 50
  290. 3850 CLS 4
  291. 3860 LOCATE 10,23:PRINT "タイトル         ";:PRINT CD_T;:PRINT "曲目"
  292. 3870 LOCATE 10,24:PRINT "ファイティング   ";:PRINT CD_F;:PRINT "曲目";
  293. 3880 PRINT "   書き込みます  YES=A BUTTON  NO=B BUTTON";:WAIT 50
  294. 3890 IF PTRIG(1)=1 THEN *KAKIKOMI
  295. 3900 IF PTRIG(1)=2 THEN CLS 4:GOTO *TITLE2CD ELSE 3890
  296. 3910  *KAKIKOMI:CLS 4
  297. 3920 KILL "CDDAT.DAT":OPEN "O",#1,"CDDAT.DAT":WRITE #1,CD_T,CD_F:CLOSE #1
  298. 3930 GOTO *TITLE2CD
  299. 3940  *ERR
  300. 3950 IF ERR = 53 THEN RESUME NEXT
  301. 3960 SPRITE OFF:CLS
  302. 3970 IF ERR = 120 THEN END
  303. 3980 IF ERR = 115 THEN PRINT "CDのDATAトラックが指定されたので、音楽を無にします。":CD_F=0:CD_T=0:WAIT 500:RESUME *TITLE
  304. 3990 PRINT "エラーが発生しました。ディスクやCDがきちんと入っているか等をよく調べてください。"
  305. 4000 PRINT "もしかしたら、バグかもしれません(^^;)。":PRINT "ERROR ";:PRINT ERR:PRINT "LINE ";:PRINT ERL
  306. 4010 IF PTRIG(1)<>0 THEN END ELSE 4010
  307. 4020  *OPEN_P2:WAIT 100
  308. 4030 LINE (159,52)-(160,162),PSET,0,B
  309. 4040 GET@A (38,52)-(159,162),T1%
  310. 4050 GET@A (160,52)-(281,162),T2%
  311. 4060 FOR E=1 TO 37
  312. 4070 PUT@A (38-E,52)-(159-E,162),T1%
  313. 4080 PUT@A (160+E,52)-(281+E,162),T2%
  314. 4090 NEXT
  315. 4100 RETURN
  316.